# Course AI Ethics & Use Policy :::{admonition} Motto: Do not give up learning :class: hint You may use AI to accelerate understanding and craftsmanship, **not** to outsource the learning itself. ::: ## 1) Purpose & Scope This guide sets expectations for using AI tools (e.g., code assistants, chatbots, copilots) in this course. It applies to all homework, projects, in-class activities, and communications related to course work. --- ## 2) Core Principles 1. **Learn First:** Try to understand before automating. If you cannot explain or reproduce the work, you haven’t learned it. 2. **Responsibility:** You (not the AI) are accountable for correctness, style, performance, and ethics of your submissions. 3. **Transparency & Integrity:** Always disclose your AI use (tools, prompts, and how you verified results). Do not misrepresent AI-generated work as solely your own; 4. **Verification:** Treat AI output as *hypotheses* — test, inspect, and cite sources where relevant. 5. **Privacy & Safety:** Never share secrets, credentials, personal data, or proprietary data with AI tools. 6. **Licensing & Attribution:** Respect IP and licenses for any external code, assets, or text. Cite external sources when applicable. --- ## 3) What’s Allowed (with conditions) **🟢 Green — Allowed & Encouraged (with transparency):** - Brainstorming ideas, clarifying requirements, and outlining solution approaches. - Generating or refining **tests** (unit/property), edge-case suggestions, and test data. - Debugging assistance: explaining error messages, proposing minimal fixes you then review. - Refactoring for readability/performance; adding comments/docstrings and example usage. - Translating your own text or improving grammar/format in reports/README. **🟡 Yellow — Allowed only if you verify and understand it (with disclosure):** - Drafting **small code snippets** or boilerplate that you fully review, test, and can explain. - Summarising documentation/APIs *you also read*, to speed up navigation. - Producing diagrams, pseudocode, or step-by-step plans that you execute and validate. **🔴 Red — Prohibited:** - Submitting AI-generated code/content that you cannot explain *line by line* on request. - Using AI to complete an entire assignment end-to-end with minimal human input. - Feeding private data, credentials, or any non-public project information into AI tools. - Lifting code/text from the internet or AI without checking license and giving attribution. - Circumventing assignment constraints (e.g., forbidden libraries/techniques) via AI. --- ## 4) Documentation & Disclosure Requirements IoT Challenge submissions that used AI **must include** an **AI-Use Statement** in the README (or report) and maintain a short **Prompt Journal**. **AI-Use Statement (template):** ```markdown - Tools: , used on . - Scope: (e.g., brainstormed edge cases; generated initial tests; suggested refactor for function X.) - Verification method: (manual tests passed, manual review steps, external sources consulted.) - Attribution: (links to any external code/snippets with license notes, if applicable.) - Reflection: (what I learned; what I changed vs. the AI’s suggestion.) ``` **Prompt Journal (minimum):** - Paste your top 1–3 prompts (or paraphrases) and a 1–2 sentence note of what changed. - Keep sensitive data out. If a prompt contains project-specific details, paraphrase. --- ## 5) Verification Checklist (pre-submission) - [ ] I can explain all submitted code and choices in plain language. - [ ] Tests: all pass locally; I added at least one **self-authored** test per milestone. - [ ] I reviewed complexity, edge cases, and failure modes; I can justify trade-offs. - [ ] AI-Use Statement and Prompt Journal are included. - [ ] No secrets/PII were shared with any AI tool. - [ ] Licensing/attribution for any external snippet is correct. --- ## 6) Collaboration & Authorship - You may discuss concepts with classmates, but **final code and report must be your own** unless the task explicitly allows group work. - In group tasks, document each member’s contribution and any AI assistance used by that member. - You may be invited to a short **oral check** to discuss your submission. - You may be asked to explain aspects or your code or defend your design choices during the review process. --- ## 7) Data Privacy & Security - Do **not** paste secrets (API keys, passwords), personal data, or proprietary datasets into AI systems. - Prefer local/offline or institution-approved tools for sensitive workflows. - Use synthetic or redacted examples when seeking help. --- ## 8) Intellectual Property & Licensing - Treat AI output like any third-party source: you must verify originality and licensing. - If you adopt external code/ideas, cite source and license; keep usage within license terms. --- ## 9) Evaluation & Consequences - Class assignments submissions may be checked via tests, code review, and tooling. - Additionally, the IOT Challenge may include an oral check to verify understanding. - **If you cannot explain your code**, we reserve the right to: reduce/void assignment grading, require resubmission, or initiate academic-integrity procedures per university policy. --- ## 10) Examples **Good use:** - Ask an LLM to propose edge cases, generate initial pytest cases; you implement code; you add one more test you designed; AI-Use Statement explains how you verified logic. **Borderline but acceptable (with care):** - Ask for a starter function to parse CSV → you refactor thoroughly, add docstrings, and design extra tests; you can explain decisions and complexity. **Not acceptable:** - Paste the entire assignment and submit the first AI answer with minimal edits; cannot explain key lines or fix defects during review. --- ## 11) In-Class AI Use - For class assignments, timed quizzes/exams: AI use is **forbidden** unless explicitly stated. - AI is allowed for brainstorming, code sketching, and debugging **only when explicitly permitted by the instructor**. --- ## 12) Accessibility & Language Support - Using AI to improve grammar/clarity in your own writing is encouraged, but text substance must remain yours. - If you rely on translation, note this in your AI-Use Statement. ---